/**
 * 
 */
package inmobiliaria.frsf.dao;

import inmobiliaria.frsf.model.Propietario;

import java.util.List;
import java.util.Map;

/**
 * @author Lucas
 * 
 */
public interface PropietarioDAO {

	/**
	 * Guarda un propietario
	 * 
	 * @param datosIngreso
	 * @throws Exception
	 */
	Integer guardar(Propietario propietario) throws Exception;

	/**
	 * Realiza la busqueda de propietarios
	 * 
	 * @param id
	 *            Id del propietario
	 * @return
	 * @throws Exception
	 */
	List<Propietario> searchPropietario(Map<String, Object> datos)
			throws Exception;

	/**
	 * Edita el propietario pasado como parametro
	 * 
	 * @param Propietario
	 * 
	 * @throws Exception
	 */
	void editar(Propietario propietario) throws Exception;

	/**
	 * Elimina el propietario que posea el id pasado como parametro
	 * 
	 * @param id
	 *            Id del propietario
	 * 
	 * @throws Exception
	 */
	void eliminar(Long id) throws Exception;

	/**
	 * Realiza la busqueda de un propietario
	 * 
	 * @param idPersona
	 *            Id de persona
	 * @return
	 * @throws Exception
	 */
	Propietario searchPropietario(Integer idPersona) throws Exception;

}
